package yf.mall.entity;


import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Setter;
import lombok.Getter;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;

import java.math.BigDecimal;
import java.util.List;

/**
 * 产品实体
 * 表名 mall_goods
 *
 * @author hxf
 * @email 505860922@qq.com
 * @date Thu Aug 06 13:41:12 CST 2020
 */
@Setter
@Getter
public class MallGoodsEntity implements Serializable {
    private static final long serialVersionUID = 1L;


    //
    private Long id;
    //上传者的ID
    private Long userId;
    //所属分类
    private Long type;
    //产品名字
    private String name;
    //单位
    private String unit;
    //过期时间
    private String expDate;
    //ENUM-物流规则:"FREE-包邮","FULL-满免","WEIGHT-计重"
    private Integer logType;
    //是否可见
    private Integer display;
    //产品重量kg
    private BigDecimal weight;
    //物流费
    private BigDecimal logFee;
    //满免数量
    private Integer fullNumber;
    //虚拟销量
    private Long sales;
    //描述
    private String info;
    //分享标题
    private String title;
    //原价
    private BigDecimal oldPrice;
    //现价
    private BigDecimal nowPrice;
    //显示奖励
    private BigDecimal profit;
    //ENUM-开启规格:"CLOSE-关闭","OPEN-开启"
    private Integer openSku;
    //IMG-产品主图
    private String img;
    //IMG-产品详情页图
    private String midImg;
    //IMG-产品详情图
    private String bigImg;
    //ENUM-是否上架:"ON-上架","DOWN-下架"
    private Integer shelf;
    //排序
    private Integer sort;
    //是否可转货
    private Integer transfer;
    //是否可发货
    private Integer delivery;
    //库存
    private Integer stock;
    //原始库存
    private Integer totalStock;
    //ENUM-售卖类型:"RETAIL-零售","AGENT-代理"
    private Integer saleType;
    //模式
    private String mode;
    //备注
    private String remark;
    //必需积分
    private BigDecimal point;
    //最高可用券
    private BigDecimal coupon;
    //每箱数量
    private Integer perBox;
    //
    private String features;
    //IMG-分享海报
    private String postImg;
    //生产时间
    private Date createTime;
    //起止时间
    Date[] createTimes;
    //保质期
    private String guaranty;
    //采购价
    private BigDecimal shopPrice;
    //分享优惠描述
    private String discountInfo;
    //分享优惠价格
    private BigDecimal discountPrice;
    //活动信息
    private String actInfo;
    //卖点主题
    private String buyTheme;
    //卖点信息
    private String buyInfo;
    //物流模板
    private Long logTemId;
    //供货价
    private BigDecimal supplyPrice;
    //每日优选
    private Integer dailySel;
    //ENUM-是否可预定:"NO-不可预订","YES-可预订"
    private Integer reserve;
    private Integer dailySelRotation;
    private Integer bindNumber ;
    private Integer firstBindNumber;
    //不可见级别
    private String levelName;

    //限制支付方式 默认限制
    private Integer limitPayWay;

    @JsonProperty("tCode")
    private String tCode;

    //奖金池奖金
    private String vipProfit;


    private Integer vip;

    private String vipLevel;


    public MallGoodsEntity(){
        this.getTCode();
    }

    //自定义开始
    //sku
    private List<MallSkuEntity> mallSkus;

    //sku主题
    private List<MallSkuThemeEntity> skuThemes;

    //价格
    private List<PriceEntity> prices;
    //售卖类型详情
    private SaleTypeInfoEntity act;
    //所属店
    private ShopEntity shopEntity;
    //所属店
    private String shopName;
    //评论信息
    private List<CommentEntity> comments = new ArrayList<>();
    // 奖励代金券
    private String cashReward;
    //奖励换购券
    private String  voucherReward;


    

}
